Previous | Index | Next |

Requirements

To ensure that the different components in a library work together, they must satisfy some basic requirements. Requirements are stated in terms of well-defined expressions, which define valid terms of the types that satisfy the requirements. For every set of requirements there is a table that specifies an initial set of the valid expressions and their semantics. Any generic algorithm that uses the requirements has to be written in terms of the valid expressions for its formal type parameters. If an operation is required to be linear time, it means no worse than linear time, and a constant time operation satisfies the requirement. In some cases we present the semantic requirements using java code. Such code is intended as a specification of equivalence of a construct to another construct, not necessarily as the way the construct must be implemented (although in some cases the code given is unambiguously the optimum implementation).


Previous | Index | Next |